package com.ruoyi.gd.ywd.domain.bo;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 业务单业务对象 z_ywd
 *
 * @author ruoyi
 * @date 2024-03-17
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class ZYwdBo extends BaseEntity {


    private String excelId;

    /**
     * id
     */
    @NotBlank(message = "id不能为空", groups = { EditGroup.class })
    private String id;

    /**
     * 编号
     */
    private int bh;

    /**
     * 总部编号
     */
    @NotBlank(message = "总部编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String zbbh;

    /**
     * 客户
     */
    @NotBlank(message = "客户不能为空", groups = { AddGroup.class, EditGroup.class })
    private String kh;

    /**
     * 客户
     */
    @NotBlank(message = "客户id", groups = { AddGroup.class, EditGroup.class })
    private String khid;

    /**
     * 地址
     */
    @NotBlank(message = "地址不能为空", groups = { AddGroup.class, EditGroup.class })
    private String dz;

    /**
     * 附件
     */
    private String fj;

    /**
     * 附件pdf
     */
    private String fjpdf;

    /**
     * 下场时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date xcsj;

    /**
     * 是否已下场
     */
    @NotBlank(message = "是否已下场不能为空", groups = { AddGroup.class, EditGroup.class })
    private String sfyxc;

    private Boolean xcpx;

    /**
     * 是否回款
     */
    @NotBlank(message = "是否回款不能为空", groups = { AddGroup.class, EditGroup.class })
    private String sfhk;

    /**
     * 回款金额
     */
//    @NotNull(message = "回款金额不能为空", groups = { AddGroup.class, EditGroup.class })
    private Double hkje;

    /**
     * 回款时间
     */
//    @NotNull(message = "回款时间不能为空", groups = { AddGroup.class, EditGroup.class })
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date hksj;

    /**
     * 备注
     */
    private String bz;

    /**
     /**
     * 下场人员id
     */
    private String xcryid;
    /**
     * 下场人员姓名
     */
    private String xcryname;

    /**
     * 下场备注
     */
    private String xcbz;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startXcsj;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endXcsj;

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startCreateTime;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endCreateTime;

    /**
     * 删除标志（1代表存在 2代表删除）
     */
    private String delFlag;

    /**
     * 状态
     */
    private String status;

    /**
     * 创建者id
     */
    @TableField(fill = FieldFill.INSERT)
    private String createId;

    /**
     * 电话
     */
    private String dh;

    /**
     * 合同金额
     */
    private Double htje;

    /**
     * 下场负责人id
     */
    private String xcfzrid;

    /**
     * 下场负责人名称
     */
    private String xcfzrname;

    /**
     * 下场类型
     */
    private String xclx;

    private String isLog;

    /**
     * 送检类型
     */
    private String jcfs;
    /**
     * 送检状态
     */
    private String sjzt;

    /**
     * 送检时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date sjsj;

    /**
     * 送回时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date shsj;

    private String type;

    private String isAdmin;

    private String syWgdzt;

}
